#ifndef _KC_MSGOBSERVER_H__KC_
#define _KC_MSGOBSERVER_H__KC_

#include <boost/noncopyable.hpp>
#include <boost/thread/mutex.hpp>

namespace kc_sf
{
	/* Wzorzec obserwatora. Aktualizuje informacje o ilości wiadomości,
	 * które przeszły przez system  */
	class Observer : boost::noncopyable
	{
		public:

			Observer();
			unsigned long add();
			unsigned long extract();
			unsigned long size();

		private:

			unsigned long mo_nr;
			boost::mutex mo_guard;
	};
}

#endif // _KC_MSGOBSERVER_H__KC_
